package model.arboles;
/*

    This file is part of Logica-Logike.

    Logica-Logike is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation version 3 of the License.

    Logica-Logike is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Logica-Logike.  If not, see <http://www.gnu.org/licenses/>.

 */
/**
 * @author Maria Julia Racca;
 */
public class Test {

    public static void main(String[] args) {

        AtomicProposition ap = new AtomicProposition('a', true);
        AtomicProposition ap2 = new AtomicProposition('b', false);

        MolecularProposition mp = new MolecularProposition(ap, Operation.AND,
                ap2, true);

        AtomicProposition ap3 = new AtomicProposition('a', true);

        MolecularProposition mp2 = new MolecularProposition(mp,
                Operation.OR, ap3, true);

        System.out.println(mp2);
        // System.out.println(LogicalLaws.leyDeMorgan(mp));
        // System.out.println(LogicalLaws.propiedadConmutativa(mp));
        //
        // System.out.println(LogicalLaws.propiedadConmutativa(mp2));
        // System.out.println(LogicalLaws.propiedadConmutativa(mp2));
        //
        // System.out.println(mp2);


        MolecularProposition aux = (MolecularProposition) LogicalLaws.propiedadAsociativa(mp2);

        System.out.println(aux);
        System.out.println(LogicalLaws.leyDeMorgan(aux));

        // System.out.println(LogicalLaws.leyDeMorgan(mp2));
        //
        // AtomicProposition ap4 = new AtomicProposition('a', true);
        // AtomicProposition ap5 = new AtomicProposition('b', false);
        //
        // MolecularProposition mp3 = new MolecularProposition(ap4,
        // Operation.SIYSOLOSI,
        // ap5, true);
        //
        // System.out.println(mp3);
        // System.out.println(LogicalLaws.definicionBicondicional(mp3));
        //
        // LogicalTreeConstructor treec = new LogicalTreeConstructor(mp);
        // System.out.println(treec);

    }
}
